package com.heaven.customerServer.customerController.vo.uploadFile;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import org.springframework.http.codec.multipart.FilePart;


/**
 * 非文件夹大文件上传请求
 */
@Data
public class BigFileFeatureReq {
    /** 大文件流的MD5值 */
    @NotBlank(message = "MD5值不能为空")
    private String md5;

    /** 大文件大小 单位：B */
    @NotNull(message = "文件大小值必须携带")
    private Long size;

    /** 文件名，带后缀 */
    @NotBlank(message = "文件名不能为空")
    private String fileName;

    /** 分块索引 */
    @NotNull(message = "分块索引不能为空")
    private Long index;

    /** 分块文件大小的最大值 */
    @NotNull(message = "分块文件大小不能为空")
    private long maxBlobSize;

    /** 文件流长度 */
    @NotNull(message = "文件流长度不能为空")
    private long contentLength;

    /** 分块文件流 */
    @NotNull(message = "文件流不能为空")
    private FilePart blob;
}
